Chemistry Sim

Skills Used

Source Code

GitHub

Demo

About

Chemistry Simulator is a standalone application aimed at teaching an educated audience about chemical bonding. Users experiment in an interactive sandbox where they can drag and drop elements and make chemical bonds. When they make a successful bond, they will discover the compound allowing them to learn more about it.

Image of sandbox with a periodic table

Development

Chemistry Simulator was made as a team of four. I was primarily in charge of the back end data structures and storage. Furthermore, I designed and implemented parts of the UI. My greatest accomplishment on this assignment was designing a unique JSON format for representing chemical compounds. Part of the difficulty in representing chemical compounds was that a compound may be made by the user in multiple ways. For example Water could be made by starting with oxygen and then adding on two hydrogen. However, it can also be made by starting with a hydrogen, adding an oxygen, and then adding another hydrogen. I realized that the compounds are basically a graph data structure. By utilizing a modified depth first search as well as a custom JSON format, we were able to accomplish a performant back end.